package veterinaria.negocio;
import java.util.Collection;
import veterinaria.dao.CitaDAO;
import veterinaria.excepcion.DAOExcepcion;
import veterinaria.modelo.Cita;

public class GestionCitas {
	public void insertar(Cita ci) throws DAOExcepcion {
		CitaDAO dao = new CitaDAO();
			dao.insertar(ci);
	}

	public Cita insertar(String id_doctor, int idpaciente, String FechaRegistro, String FechaAtencion, String Hora, String Descripcion, int Emergencia, int idVacuna)
			throws DAOExcepcion {
		
		
		Collection<Cita> listado = buscarPorFecha(FechaAtencion, Hora);
		if(listado.size() > 0){
				System.out.println("Ya existe una cita en ese horario");
				return null;
		}else{
							
			
		CitaDAO dao = new CitaDAO();
		Cita ci = new Cita();
		ci.setId_doctor(id_doctor);
		ci.setIdPaciente(idpaciente);
		ci.setFechaRegistro(FechaRegistro);
		ci.setFechaAtencion(FechaAtencion);
		ci.setHora(Hora);
		ci.setDescripcion(Descripcion);
		ci.setEmergencia(Emergencia);
		ci.setIdVacuna(idVacuna);
		return dao.insertar(ci);
		}
	}

	public Cita obtener(int idCitas) throws DAOExcepcion {
		CitaDAO dao = new CitaDAO();
		return dao.obtener(idCitas);
	}

	public void eliminar(int idCitas) throws DAOExcepcion {
		CitaDAO dao = new CitaDAO();
		dao.eliminar(idCitas);
	}

	public Cita actualizar(int IdCitas, String id_doctor, int idpaciente, String FechaRegistro, String FechaAtencion, String Hora, String Descripcion, int Emergencia, int idVacuna) throws DAOExcepcion {
		CitaDAO dao = new CitaDAO();

		Cita ci = new Cita();

		ci.setIdCitas(IdCitas);
		ci.setId_doctor(id_doctor);
		ci.setIdPaciente(idpaciente);
		ci.setFechaRegistro(FechaRegistro);
		ci.setFechaAtencion(FechaAtencion);
		ci.setHora(Hora);
		ci.setDescripcion(Descripcion);
		ci.setEmergencia(Emergencia);
		ci.setIdVacuna(idVacuna);
		
			
		return dao.actualizar(ci);
	}

	public Collection<Cita> listar() throws DAOExcepcion {
		CitaDAO dao = new CitaDAO();
		return dao.listar();
	}
	

	
	public Collection<Cita> buscarPorFecha(String FechaAtencion, String Hora)
			throws DAOExcepcion {
		CitaDAO dao = new CitaDAO();
		return dao.buscarPorFecha(FechaAtencion, Hora);
	}
	
	public Collection<Cita> buscarPorallday(String diaAtencion)
			throws DAOExcepcion {
		CitaDAO dao = new CitaDAO();
		return dao.buscarPorallday(diaAtencion);
	}
	
	public Collection<Cita> burcarPacienteHistorial(int paciente)
			throws DAOExcepcion {
		CitaDAO dao = new CitaDAO();
		return dao.burcarPacienteHistorial(paciente);
	}
	public Collection<Cita> buscarPorIdDoctor(String idDoctor)  throws DAOExcepcion {
		CitaDAO dao = new CitaDAO();
		return dao.listar();
	}
	public Collection<Cita> buscarPorIdCita(int idCita)  throws DAOExcepcion {
		CitaDAO dao = new CitaDAO();
		return dao.listar();
	}
}
